struct nocopy
{
    nocopy(){}
    nocopy(nocopy& n) = delete;
    const nocopy& operator=(const nocopy& n) = delete;
};